import router from './index'
import store from '@/store/index.js'
// 敏感页面
const viplist = ['/setting']
// console.log(viplist)
// 导航路由守卫
router.beforeEach(function (to, from, next) {
  // 如果进入的页面属于敏感页面，则必须有token值才能访问，否则进入到登录页面，登录完成后在返回至对应的界面
  // 由于某些页面在访问时携带有参数，所以需要使用.fullpath进行返回
  // console.log(from, next)
  // 从vuex中获取token
  const token = store.state.tokenInfo.token
  if (!token && viplist.includes(to.path)) { // 如果当前访问的页面需要token但没有token，需要回到登录页面
    next('/login?returnURL=' + encodeURIComponent(to.fullPath)) // 进入登录页面时携带需要返回的页面的hash路径，通过$route.query.returnURL获取，因为hash值有特殊符号，需要通过encodeURIcomponent进行完全编码，因为会漏掉&符号后面的参数
  } else if (token && to.path === '/login') { // 如果当前有token,并且访问的是登录页面，则直接回到首页
    next('/')
    // next(false)禁止跳转
  } else { // 其他情况则一律放行
    next()
  }
})

export default router
